Design and Implementation of Fft Filter Using Vhdl Ip Core Based Design
نویسندگان
چکیده
The FIR FFT core is intended for the signal filtering. With the FIR filter of large impulse response length which exceeds up to Ni = 512 samples. Each FFT iteration dates are computed by the computational unit, called FFTDPATH, another words, data path for FFT calculations. FFTDPATH calculates the radix-2 FFT butterfly in the high pipelined mode. Therefore in each clock cycle one complex number is read from the data RAM and the complex result is written in this RAM. This mode supports the increasing the clock frequency up to 80 MHz and higher. In the core the block floating point arithmetic is implemented. The system puts band pass filter and one or two differentiators sequentially. The sectioned convolution algorithm is used for the one channel complex signal filtering. The filtering of a single input signal is performed with the abundance of operations because the imaginary part of the input data is zeroed. This abundance is minimized when the imaginary part of FFT is data of another input signal (second channel). Keywords—Component, Formatting, Style, Styling, Insert (Key Words) I.INTRODUCTION FIR filters and FFTs are two of the most common DSP functions implemented in FPGAS. Altera’s internal primary market research shows that these functions dominate implementation when it comes to DSP in FPGAs. This is most likely due to the fact that FPGAs alone are able to meet the throughput and latency requirements for these functions, given the parallel DSP data path implementation that is feasible with the FPGA architecture. Fig 1 DSP functions implemented in FPGA International Journal of Advanced Technology in Engineering and Science www.ijates.com Volume No.02, Issue No. 12, December 2014 ISSN (online): 2348 – 7550 64 | P a g e Given the preponderance of FIR and FFT implementation, it is critical that the FPGA DSP architecture be designed to enable this implementation with highest performance and the least resources. At the 28-nm process node, Altera has developed the FPGA industry’s first variable-precision DSP architecture in its Stratix® V devices. This architecture enables designs with varying precision and performance requirements to be implemented using the 28-nm silicon fabric with two to three times the implementation efficiency compared to competing, fixed-precision 18x25 DSP architectures. Digital filter plays an important role in digital signal processing applications. Digital filters are widely used in digital signal processing applications, such as digital signal filtering, noise filtering, signal frequency analysis, speech and audio compression, biomedical signal processing and image enhancement etc. A digital filter is a system which passes some desired signals more than others to reduce or enhance certain aspects of that signal. It can be used to pass the signals according to the specified frequency pass-band and reject the frequency other than the pass-band specification. The basic filter types can be classified into four categories: low-pass, highpass, band-pass, and band-stop. On the basis of impulse response, there are two fundamental types of digital filters: Infinite Impulse Response (IIR) filters, and Finite Impulse Response (FIR) filters. Finite Impulse Response digital filter has strictly exact linear phase, relatively easy to design, highly stable, computationally intensive, less sensitive to finite word-length effects, arbitrary amplitude-frequency characteristic and real-time stable signal processing requirements etc. Thus, it is widely used in different digital signal processing applications. FIR filter is described by differential equation. The output signal is a convolution of an input signal and the impulse response of the filter. 1 0 ( ) ( ( ) ( )) N k y n h k X n k (1) x(n) is the input signal. h(n) is the impulse response of fir filter. The transfer function of a causal FIR filter is obtained by taking the z-transform of impulse response of FIR filter h(n). 1 0 ( ) ( ) ) N k k H z h k z (2) Most Common type filters include a low-pass filter, which pass through the frequencies below their cut off frequencies, and progressively attenuates frequencies above the cutoff frequency of a signal according to desired requirements. There are many straightforward techniques for designing FIR digital filters to meet arbitrary frequency and phase response specifications, such as window design method or frequency sampling techniques. The Window method is the most popular and effective method because this method is simple, convenient, fast and easy to understand. The main advantage of this design technique is that the impulse response coefficient can be obtained in closed form without the need for solving complex optimization problems. Window functions can be divided into two categories; Fixed and Adjustable window functions. Mostly used fixed window functions are; Rectangular window, Hanning window, Hamming window and Blackman window. On the other hand the Kaiser window is a kind of adjustable window function. In the literature survey, these different widows are used for the Digital FIR filter designing and spectral performance analysis. FIR filter design using a new window function is given in. In the study of Fourier transform of these different Fixed International Journal of Advanced Technology in Engineering and Science www.ijates.com Volume No.02, Issue No. 12, December 2014 ISSN (online): 2348 – 7550 65 | P a g e window functions, for the fixed length the Rectangular window provides smallest main lobe width but the highest peak of side lobe among them, So Rectangular window is not widely used in digital signal processing applications. The Hanning and Hamming window provides good side lobe attenuation compare to rectangular window, so these windows are commonly used in different DSP applications. For higher side lobe attenuation Blackman window is used but the Blackman window has a wider main lobe width compare to Hanning and Hamming window. The Kaiser window is a kind of adjustable window function which provides independent control of the main lobe width and ripple ratio. But the Kaiser window has the disadvantage of higher computational complexity due to the use of Bessel functions in the calculation of the window coefficients. In some applications such as FFT, signal processing and measurement, higher side lobe attenuation is required compared to a Hamming window. The Blackman window function can also be used for these types of applications but the Blackman window has a wider main lobe width and if the main lobe width of any window function increases the ability to distinguish two closely spaced frequency components decreases. An efficient adjustable window function based on Blackman window function is used for designing an FIR filter. For an efficient value of μ, this window function provides higher side lobe attenuation comparison to Hamming and Hanning windows and the main lobe width of this window function is slightly greater than the hamming window. In this window function for a fixed length the main lobe width and amplitude of side lobe can be varied in the frequency domain by changing the value of μ, which provides greater flexibility according to different applications. the design filter is compared for some different values of μ. II. FEATURES OF FIR FILTER The filtering algorithm is the sectioned convolution with accumulating based on N-point radix-2 FFT, where N = 64, 128, 256, 512, 1024. One complex signal channel or two parallel real signal channels. Filter types are LPF; LPF and HPF; LPF and HPF, and differentiator; LPF and HPF, and double differentiator. Input data, output data, and coefficient widths are generics. Bandpass frequencies of the LPF and HPF filters, filter type are dynamically tunable parameters. The frequencies for both real channels are tuned independently. Stop band ripple for 16-bit dates is higher than 60 db. The transitional frequency band is less than 6 bins (1 bin = Fs/N, where Fs is the sampling frequency). Dynamic range for 16-bit dates is higher than 70 db. Structure optimized for Xilinx Virtex2, Virtex4, Spartan3 FPGA devices, and can be implemented in Altera, Actel, Lattice devices as well. The maximum clock frequency for Virtex4_ devices is equal to Fclk = 190 MHz, and for Spartan3E devices is equal to Fclk = 80 MHz. The maximum sampling frequency Fs by N=1024 is less than Fclk/29. The latent delay of the filter by N=1024 is equal to 1790 cycles of Fs. International Journal of Advanced Technology in Engineering and Science www.ijates.com Volume No.02, Issue No. 12, December 2014 ISSN (online): 2348 – 7550 66 | P a g e 2.1 Design features 2.2.1 Small hardware volume The USFIR_FFT core is intended for the signal filtering with the FIR filter of large impulse response length which exceeds up to Ni = 512 samples. Consider the sequential-parallel FIR filter of the length Ni = 512 based on the DSP48 module of the Virtex4 device with the slow-down ratio 32. This ratio for USFIR_FFT core cannot be less than 29. Then the FIR filter hardware volume occupies 512/32 = 16 DSP48 modules and buffer RAMs. I.e. such a filter occupies in 4 times more DSP48 modules than the USFIR_FFT core does. Considering that the USFIR_FFT core has 2 parallel independed channels, the hardware volume effectiveness ratio increases to 8 times. Comparing to the Virtex2, and Spartan3 devices, the hardware volume effectiveness of the USFIR_FFT core is higher because the DSP48 modules are absent in them. 2.2.2 Dynamically tunable band pass frequency In many applications the user needs the filters which band pass frequencies are tuned dynamically. They are adaptive filtering, software defined radio, ultrasound testing devices, etc. It is not easy problem to perform this mode in the usual FIR or IIR filters. This problem is usually solved by storing a set of coefficients of different filters or by calculating the new coefficient set each time on demand. In the first situation the coefficient ROM has to be too large to provide the proper frequency tuning. In the second situation the calculating procedure is too complex to be performed in FPGA, and the tuning can waste too high time volume. In the USFIR_FFT core the band pass frequencies are set simply as the codes of proper frequency bins. After new frequency setting the filter runs immediately, providing short and natural transitional process. 2.2.3 Highly pipelined calculation Each FFT iteration dates are computed by the computational unit, called FFTDPATH, another words, data path for FFT calculations. FFTDPATH calculates the radix-2 FFT butterfly in the high pipelined mode. Therefore in each clock cycle one complex number is read from the data RAM and the complex result is written in this RAM. This mode supports the increasing the clock frequency up to 80 MHz and higher. [9] 2.2.4 High precision computation In the core the block floating point arithmetic is implemented. This means that the data array has the common exponent, and the array is normalized in the mode when the maximum data in the array occupies all the digits of the word. Such mode supports the high calculation precision. Due to this mode, 1024 – point FFT calculations for 16 bit data and coefficients give 70 db signal to noise ratio, which is at least at 20 db higher than calculations with the fixed point arithmetic give[3][4]. 2.2.5 Combining the band pass filter with differentiators In many applications the user needs to combine the band pass filter with differentiators. For example, in ultrasound testing devices the transducer has the integrator properties, which have to be compensated by differentiators. Therefore the system needs to put band pass filter and one or two differentiators sequentially. In International Journal of Advanced Technology in Engineering and Science www.ijates.com Volume No.02, Issue No. 12, December 2014 ISSN (online): 2348 – 7550 67 | P a g e this situation the USFIR_FFT core is the best solution because this mode is implemented in it naturally without additional hardware. 2.2.6 Additional frequency measurements Often the user needs to investigate the input signal spectrum, for example, to find out the noisy frequency bands. To implement this feature the USFIR_FFT core has additional output for signal spectrum samples or bins. This output is attached/detached on demand when instantiating the core[6][7]. III. FILTERING ALGORITHM 3.1 One channel real signal filter The sectioned convolution algorithm is used for the one channel complex signal filtering. Consider N = 1024. This algorithm for convolution of the signal a with the impulse responce h looks like the following. Input signal is divided into segments ak of the length 512. The working array a of the length 1024 is formed as the concatenation of this segment and previous one: a = . FFT of the length 1024 for the working array is implemented: A = F(a). FFT of the length 1024 for the impulse responce is implemented: H = F(h); note that more than a half of the array h has to be zeroed. The signal spectrum and the impulse responce spectrum (frequency responce) are multiplied: A*H. Inverse FFT of the length 1024 is derived: y = F(A*H). 512 resulting samples are selected which are not inferred by the circular convolution effect: yk = {yp,..., yp+511}, p = 256. The following considerations have to be mentioned. The impulse response h may not be transferred into the frequency response H. Instead the frequency response H can be generated due the parameters of low pass frequency Fl and high pass frequency Fh. It has to be symmetric one and has more than 512 zeroed samples. The initial algorithm is true for the signals, which are represented by the sum of sinusoids which periods are the fractions of the FFT period. If the signal is of common form then it could not be filtered precisely by this algorithm due to the frequency aliasing effect. To minimize this effect the input signal has to be multiplied by some time window W. The resulting filtering algorithm for the real input signal is represented by the diagram on the Fig.3.3.1[8][9]. 28-07-2014 04-08-2014 28-07-2014 04-08-2014 ak-1
منابع مشابه
Open Cores for Digital Signal Processing
This paper presents the design and implementation of three System on Chip (SoC) cores, which implement the Digital Signal Processing (DSP) functions: Finite Impulse Response (FIR) filter, Infinite Impulse Response (IIR) filter and Fast Fourier Transform (FFT). The FIR filter core is based on the symmetrical realization form, the IIR filter core is based on the Second Order Sections (SOS) archit...
متن کاملFPGA Based Implementation Of Baseband OFDM Transceiver Using VHDL
Orthogonal Frequency Division Multiplexing (OFDM) is a multicarrier communication system. It is widely used because of its immunity to frequency selective fading channels. In this paper, the design and an implementation of OFDM transceiver on FPGA is presented. The system is designed using VHDL, synthesized using high level synthesis tool and targeted on Xilinx Spartan 3e device. Presented desi...
متن کاملThe Design and Implementation of FFT Algorithm Based on The Xilinx FPGA IP Core
This paper introduces a kind of FFT algorithm design and realization based on the Xilinx IP core . On the analysis of FFT algorithm, Rely on Xilinx Spartan -3A DSP FPGA series as platform, by calling FFT IP core, validating the feasibility and reliability in FFT algorithm medium or lower end FPGA. Keywords-FFT algorithm module, Xilinx IP core, Spartan 3A DSP, Fixed-point compression
متن کاملDesign and Implementation of a Kalman Filter-Based Time-Varying Harmonics Analyzer
Nowadays with increasing use of numerous nonlinear loads, voltage and current harmonics in power systems are one of the most important problems power engineers encounter. Many of these nonlinear loads, because of their dynamic natures, inject time-varying harmonics into power system. Common techniques applied for harmonics measurement and assessment such as FFT have significant errors in presen...
متن کاملAn Approach to Specification and Synthesis of Adaptive Interfaces of Reusable Hardware Modules
A novel methodology for specification and synthesis of adaptive interfaces for Soft IP cores using the VHDL+ extension to VHDL is presented . Our approach separates the specifications of IP core functional behaviour and core interface into different design units. While the core functional behaviour is defined in form of a VHDL+ model that has a transaction level interface, the core interface sp...
متن کاملDesign and Implementation of a High Speed Systolic Serial Multiplier and Squarer for Long Unsigned Integer Using VHDL
A systolic serial multiplier for unsigned numbers is presented which operates without zero words inserted between successive data words, outputs the full product and has only one clock cycle latency. The multiplier is based on a modified serial/parallel scheme with two adjacent multiplier cells. Systolic concept is a well-known means of intensive computational task through replication of func...
متن کامل